#pragma once

/** 本库用于定义常量 */

typedef unsigned char uchar;
typedef unsigned int uint;
typedef unsigned short ushort;
typedef unsigned long long ullong;

// 日志文件路径
extern const char *LOG_PATH;

// 缓冲区大小
extern const int BUF_SIZE;

// 客户端配置文件
extern const char *CONFIG_PATH;

// 认证串
extern const char *CERT_STR;

// 配置信息文件路径
extern const char *CONFIG_DAT_PATH;

// 进程信息文件路径
extern const char *PROCESS_DAT_PATH;

// U盘信息文件路径
extern const char *UDISK_DAT_PATH;

/***********************************************************
 * 配置文件信息记录
 * 虽然不是const, 但是在整个程序运行过程中不会改变, 故使用大写命名
 * *********************************************************/
extern std::string CONF_SERV_IP;
extern ushort CONF_SERV_PORT;
extern bool CONF_EXIT_AFTER_SUCC; // 进程接收成功后退出
extern int CONF_MIN_TERM;
extern int CONF_MAX_TERM;
extern int CONF_MIN_SCREEN;
extern int CONF_MAX_SCREEN;
extern bool CONF_DEL_LOG;
// 必要提示
extern bool DEBUG_ENV;
// 错误提示
extern bool DEBUG_ERR;
// 发送数据
extern bool DEBUG_SPACK;
// 接收数据
extern bool DEBUG_RPACK;
// 发送的数据包
extern bool DEBUG_SDATA;
// 接收的数据包
extern bool DEBUG_RDATA;
extern bool CONF_DEBUG_SCR; // debug是否打印到屏幕上

// 加密串
extern uchar secret[4096];